// Copyright © SixtyFPS GmbH <info@slint.dev>
// SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0

import { FluentFontSettings, FluentPalette } from "styling.slint";

export component GroupBox {
    in property <string> title;
    in property <bool> enabled: true;
    in property <length> content-padding;

    accessible-role: groupbox;
    accessible-label: root.title;
    accessible-enabled: root.enabled;

    VerticalLayout {
        spacing: 8px;
        padding-top: 16px;
        padding-bottom: 8px;

        if root.title != "" : Text {
            vertical-stretch: 0;
            color: !root.enabled ? FluentPalette.text-disabled : FluentPalette.control-foreground;
            font-size: FluentFontSettings.body-strong.font-size;
            font-weight: FluentFontSettings.body-strong.font-weight;
            text: root.title;
        }

        Rectangle {
            vertical-stretch: 1;

            GridLayout {
                padding: root.content-padding;

                @children
            }
        }
    }
}
